package com.dd.util;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.net.Socket;

public class SmsSend {
	private String USERNAME="fzjudian-ddw";
	private String PASSWORD="7837750";
/*
		移动号段：134，135，136，137，138，139，141，147，150，151，152，154，157，158，159，182，187
	 	联通号段：130，131，132，155，156，185，186
	 	电信号段：133，153，180，189
		第一位 信息类型；0：彩信，1：短信，2：wap push
		第二位 运营商；0：移动，1：联通，2：电信，3：小灵通
		示例：联通短信为11，第一个1的意思为短信，第二个1为联通

 */
	public static void main(String arg[]){
		String str = new SmsSend().sendSms("13859082524", "heng");
		System.out.println("str="+str);
	}
	
	public String sendSms(String phone,String msg){
        try {
        	String NumberType="10";
			if (phone.startsWith("130")||phone.startsWith("131")||phone.startsWith("132")||phone.startsWith("155")||phone.startsWith("156")||phone.startsWith("185")||phone.startsWith("186")){
        		NumberType="11";
        	}else if(phone.startsWith("133")||phone.startsWith("153")||phone.startsWith("180")||phone.startsWith("189")){
        		NumberType="12";
        	}else if(phone.startsWith("0")){
        		NumberType="13";
        	}
        	Socket s = new Socket("qw1880.3322.org",8812);   
            BufferedReader br = new BufferedReader(new InputStreamReader(s.getInputStream(),"GB2312"));   
            OutputStream out = s.getOutputStream();         
            StringBuffer sb = new StringBuffer("GET /sendsms?USERNAME="+USERNAME+"&@PASSWORD="+PASSWORD+"&@SendTime=&@NumberType="+NumberType+"&@NumberCount=1&@SmsText="+msg+"&@NumberList="+phone+"&@ HTTP/1.1\r\n");   
            sb.append("User-Agent: Java/1.6.0_20\r\n");   
            sb.append("Host: qw1880.3322.org:8812\r\n");   
            sb.append("Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8\r\n"); 
            sb.append("Accept-Language: zh-cn\r\n"); 
            sb.append("Accept-Encoding: gzip, deflate\r\n"); 
            sb.append("Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8\r\n");   
            sb.append("Accept-Charset: GB2312,utf-8;q=0.7,*;q=0.7\r\n");   
            sb.append("Connection: keep-alive\r\n");  
            sb.append("\r\n");   
            out.write(sb.toString().getBytes("GB2312"));   
            String tmp = "";   
            StringBuffer sbf = new StringBuffer();
            while((tmp = br.readLine())!=null){   
               sbf.append(tmp); 
            }   
            /*
                HTTP/1.1 200 OK
				Content-Type: text/xml; Charset=gbk
				Accept-Ranges: bytes
				Server: Microsoft-IIS/6.0
				X-Powered-By: ASP.NET
				Content-Length: 112
				
				<?xml version="1.0" encoding="gb2312"?>
				<Response>
				Res=1&@MsgIndex=720669&@MsgCount=29915,0&@
				</Response>
             */
            tmp = sbf.toString();
      //      System.out.println(tmp);
            String msgindex="";
            if(tmp.indexOf("Res=1")!=-1){
            	int beg = tmp.indexOf("MsgIndex=")+9;
            	msgindex = tmp.substring(beg,tmp.indexOf("&",beg));
            }else{
            	return "";
            }
            out.close();   
            br.close();   
            s.close();
            return msgindex;
        }catch (IOException e) {
        	System.out.println("SmsSend error:"+e.getMessage());
            e.printStackTrace();
            return "";
        }
	}
	
}
